package com.yxinsur.imc.business.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.yxinsur.imc.common.annotation.Excel;
import com.yxinsur.imc.common.core.domain.BaseImcEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 监管报险种分类对象 imc_ins_catalog
 * 
 * @author imc
 * @date 2021-04-27
 */
public class ImcInsCatalog extends BaseImcEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 分类父级id */
    @Excel(name = "分类父级id")
    private Long parentId;

    /** 险种科目名称 */
    @Excel(name = "险种科目名称")
    private String catalogName;

    /** 深度 */
    @Excel(name = "深度")
    private String depth;

    /** 租户id,一个租户id唯一对一个机构id（默认机构id为根节点id暨法人机构） */
    @Excel(name = "租户id,一个租户id唯一对一个机构id", readConverterExp = "默=认机构id为根节点id暨法人机构")
    private Long tenantId;

    @TableField(exist = false)
    private List<ImcInsCatalog> children;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setCatalogName(String catalogName) 
    {
        this.catalogName = catalogName;
    }

    public String getCatalogName() 
    {
        return catalogName;
    }
    public void setTenantId(Long tenantId)
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId() 
    {
        return tenantId;
    }

    public List<ImcInsCatalog> getChildren() {
        return children;
    }

    public void setChildren(List<ImcInsCatalog> children) {
        this.children = children;
    }

    public String getDepth() {
        return depth;
    }

    public void setDepth(String depth) {
        this.depth = depth;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parentId", getParentId())
            .append("catalogName", getCatalogName())
            .append("createId", getCreateId())
            .append("createTime", getCreateTime())
            .append("updateId", getUpdateId())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .append("tenantId", getTenantId())
            .toString();
    }
}
